// 替换成真实接口之后重新定义数据类型

// 1、用户登录接口参数类型
export interface loginFormData {
  username: string
  password: string
}

// 2、登录、获取用户数据、退出 接口返回数据 共同的部分的 ts类型
export interface ResponseData {
  code: number
  message: string
  ok: boolean
}

// 3、登录独有接口返回数据类型
export interface loginResponseData extends ResponseData {
  data: string
}

// 4、定义获取用户信息接口 返回的数据类型
export interface userInfoResponseData extends ResponseData {
  data: {
    routes: string[]
    button: string[]
    roles: string[]
    name: string
    avatar: string
  }
}

// // 1、登录接口需要携带参数ts类型
// // const { username, password } = body
// export interface loginForm {
//   username: string
//   password: string
// }

// // 2、登录接口返回数据 ts类型
// // return { code: 200, data: { token } }
// interface dataType {
//   //token数据类型
//   token?: string
//   message?: string
// }
// export interface loginResponseData {
//   code: number
//   data: dataType
// }

// //3、请求用户信息接口，服务器返回数据类型
// interface userInfo {
//   userId: number
//   avatar: string
//   username: string //账号
//   password: string //密码
//   desc: string //登录用户的角色
//   roles: string[] //登录用户的角色
//   buttons: string[] //按钮权限标识
//   routes: string[] //路由权限的标识
//   token: string
// }
// export interface user {
//   checkUser: userInfo
// }
// export interface userResponseData {
//   code: number
//   data: user
// }

// // 4、路由数据（store/user中使用）
// import type { RouteRecordRaw } from 'vue-router' //路由对象的ts类型，vue-router自带
// export interface UserState {
//   token: string | null
//   routes: RouteRecordRaw[]
//   username: string
//   avatar: string
// }
